package com.haoshuang.zhouzhoubang.ui.adapter

import com.bumptech.glide.Glide
import com.google.android.flexbox.AlignItems
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.haoshuang.zhouzhoubang.R
import com.haoshuang.zhouzhoubang.databinding.ItemServiceCase2Binding
import com.haoshuang.zhouzhoubang.model.bean.HplBean
import com.haoshuang.zhouzhoubang.ui.activity.LookBigImgActivity
import com.mufeng.libs.base.BaseBindingHolder
import com.mufeng.libs.base.BaseBindingQuickAdapter
import com.mufeng.libs.utils.startPage

/**
 * 服务案例适配器
 */
class ServiceCaseAdapter2(data: MutableList<HplBean>) :
    BaseBindingQuickAdapter<HplBean, ItemServiceCase2Binding>(data) {


    override fun onBindViewHolder(holder: BaseBindingHolder, position: Int, item: HplBean?) {
        val binding = ItemServiceCase2Binding.bind(holder.itemView)
        binding.apply {
            val layoutManager = FlexboxLayoutManager(context)    // 创建布局管理者
            layoutManager.apply {
                flexDirection = FlexDirection.ROW   //设置水平方向。从左到右
                //flexWrap 默认情况下 Flex 跟 LinearLayout 一样，都是不带换行排列的，但是flexWrap属性可以支持换行排列。
                flexWrap = FlexWrap.WRAP    //按正常方向换行
                //justifyContent 属性定义了项目在主轴上的对齐方式。
                justifyContent = JustifyContent.FLEX_START  //项目在主轴上对齐方式，例如上面定义水平方向，就是水平方向对齐方式
                alignItems = AlignItems.CENTER  //项目在交叉口对齐方式，因为上面定义水平方向，则为在垂直方向对齐方式
            }

            val layoutManager2 = FlexboxLayoutManager(context)    // 创建布局管理者
            layoutManager2.apply {
                flexDirection = FlexDirection.ROW   //设置水平方向。从左到右
                //flexWrap 默认情况下 Flex 跟 LinearLayout 一样，都是不带换行排列的，但是flexWrap属性可以支持换行排列。
                flexWrap = FlexWrap.WRAP    //按正常方向换行
                //justifyContent 属性定义了项目在主轴上的对齐方式。
                justifyContent = JustifyContent.FLEX_START  //项目在主轴上对齐方式，例如上面定义水平方向，就是水平方向对齐方式
                alignItems = AlignItems.CENTER  //项目在交叉口对齐方式，因为上面定义水平方向，则为在垂直方向对齐方式
            }



            binding.apply {

                Glide.with(context)
                    .load(item?.image)
                    .placeholder(R.mipmap.default_image)
                    .error(R.mipmap.my_toux)
                    .into(ivImage)
                Glide.with(context)
                    .load(item?.avatar)
                    .placeholder(R.mipmap.default_image)
                    .error(R.mipmap.my_toux)
                    .into(ivUserAvatar)
                tvNam3.text = item?.store_name
                tvName.text = item?.comment
                textView36.text = item?.nickname
                textView37.text = item?.add_time
                rbBar.rating = item?.service_score!!.toFloat()
                tvDesc.text = "房屋面积:${item.suk_unique}"
                orderId.text = "订单编号:${item.order_id}"

                rvBeforeService.layoutManager = layoutManager    // 给recycleview设置布局管理者
                val mrvBeforeAdapter = ServiceCaseImageAdapter(item.pics?: mutableListOf<String>())
                rvBeforeService.adapter = mrvBeforeAdapter    // 给recycleview设置适配器对象
                try {

                    mrvBeforeAdapter.setOnItemClickListener { adapter, view, position ->
                        context.startPage<LookBigImgActivity>(
                            "imgBeen" to item.pics,
                            "position" to position
                        )
                    }
                } catch (e: Exception) {

                }




            }


        }
    }


}